
export function transform(uri, type) {
  if ( ! uri) {
    return '';
  }
  if ( ! uri.startsWith) {
    return '';
  }
  if (uri.startsWith('#/main/')) {
    return uri;
  }
  if (uri.startsWith('#/board/')) {
    return uri;
  }
  if (uri.startsWith('#/blank/')) {
    return uri;
  }
  if (uri.startsWith('#/m/')) {
    return uri;
  }
  if (uri.substr(0, 1) === '/') {
    uri = uri.substr(1);
  }
  if (uri.endsWith('/')) {
    uri = uri.substr(0, uri.length - 1);
  }

  var prefix = type == 'board' ?
              '#/board/' : 
              ((type == 'blank' || type == 'mobile') ? '#/blank/' : 
              (type == 'iframe') ? '#/iframe/' : '#/main/');
  var suffix = type == 'mobile' ? '/mobile' : '';


  if (type == 'm') {
    prefix = '#/m/';
  }

  return prefix + uri.replace(/\//g, '__') + suffix;
}

export function transform2(uri, id) {
  if ( ! uri) {
    return '';
  }
  if ( ! uri.startsWith) {
    return '';
  }
  if (uri.startsWith('#/main2/')) {
    return uri;
  }
  if (uri.substr(0, 1) === '/') {
    uri = uri.substr(1);
  }
  return '#/main2/' + uri.replace(/\//g,'__') + "/" + id;
}

export function untransform(uri) {
  if ( ! uri) {
    return '';
  }
  if ( ! uri.startsWith) {
    return '';
  }
  if (uri.startsWith('#/main/')) {
    uri = uri.replace(/#\/main\//, '');
  }
  if (uri.startsWith('#/main2/')) {
    uri = uri.replace(/#\/main2\//, '');
  }
  if (uri.startsWith('#/board/')) {
    uri = uri.replace(/#\/board\//, '');
  }
  if (uri.startsWith('#/blank/')) {
    uri = uri.replace(/#\/blank\//, '');
  }
  if (uri.startsWith('#/m/')) {
    uri = uri.replace(/#\/m\//, '');
  }
  let isIframe = false;
  if (uri.startsWith('#/iframe/')) {
    uri = uri.replace(/#\/iframe\//, '');
    isIframe = true;
  }
  if (uri.startsWith('#/')) {
    uri = uri.replace(/#\//, '');
  }
  if ( (! uri.startsWith('/')) && ! isIframe) {
    uri = '/' + uri;
  }

  return uri.replace(/__/g,'/');
}
